package cn.iocoder.yudao.framework.business.basic.service;

import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;

/**
 * <pre>
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 *  这里是文件说明
 * OOoO0OOoO0OOOooo0oOOOO0OOOOO0oooOO0ooOOO0Ooooo0OOOOo0ooooO0OOooo0Ooooo0OOOOO
 * </pre>
 *
 * @author 山野羡民（1032694760@qq.com）
 * @since 2025/04/07
 */
public interface ChainWrapperService<ENTITY> {

    /**
     * 构建 Mybatis Plus 的原生查询
     */
    QueryChainWrapper<ENTITY> query();

    /**
     * 构建 Mybatis Plus 的原生查询，支持 Lambda 表达式
     */
    LambdaQueryChainWrapper<ENTITY> lambdaQuery();

    /**
     * 构建 Mybatis Plus 的原生更新
     */
    UpdateChainWrapper<ENTITY> update();

    /**
     * 构建 Mybatis Plus 的原生更新，支持 Lambda 表达式
     */
    LambdaUpdateChainWrapper<ENTITY> lambdaUpdate();

}
